The present invention relates, in general, to a method and system to be utilized in data processing systems.
Data processing systems are systems that manipulate, process, and store data and are notorious within the art. Personal computer systems, and their associated subsystems, constitute well known species of data processing systems.
Personal computer systems typically include a motherboard for mounting at least one microprocessor and other application specific integrated circuits (ASICs), such as memory controllers, input/output (I/O) controllers, and the like. Most motherboards include slots for additional adapter cards to provide additional function to the computer system. Typical functions that a user might add to a computer include additional microprocessors, additional memory, fax/modem capability, sound cards, graphics cards, or the like. The slots included on the motherboard generally include in-line electrical connectors having electrically conductive lands which receive exposed tabs on the adapter cards. The lands are connected to wiring layers, which in turn are connected to a bus that allows the cards to communicate with the microprocessor or other components in the system.
A personal computer system may include many different types of buses to link the various components of the system. Examples of such buses are a xe2x80x9clocal busxe2x80x9d which connects one or more microprocessors to the main memory, an Industry Standard Architecture (ISA) bus for sound cards and modems, a Universal Serial Bus (USB) for pointing devices, scanners, and digital cameras, a Fire Wire (IEEE-1394) for digital video cameras and high-speed storage drives, and a Peripheral Component Interconnect (PCI) bus for graphics cards, SCSI adapters, sound cards, and other peripheral devices such as isochronous devices, network cards, and printer devices.
As noted, a computer system may include a PCI bus. A PCI bus is a bus compliant with the PCI bus standard promulgated by the PCI special interest group (an unincorporated association of members of the microcomputer industry set up for the purpose of monitoring and enhancing the development of the Peripheral Component Interconnect (PCI) architecture). Specific PCI standards are available within PCI Spec. Rev. 2.1, available from the PCI special interest group, which is hereby incorporated by reference in its entirety.
Under the PCI bus specification, peripheral components can directly connect to a PCI bus without the need for glue logic. Thus, PCI is designed to provide a bus specification under which high-performance peripheral devices, such as graphics devices and hard disk drives, can be coupled to the CPU, thereby permitting these high-performance peripheral devices to avoid the general access latency and the band-width constraints that would have occurred if these peripheral devices were connected to a low speed peripheral bus.
The PCI bus standard is extremely extensive, and specifies aspects of many components related to the PCI standard. One such component is the PCI socket, or slot, which is utilized to allow PCI cards (devices) to plug into, or interface with, any particular PCI bus.
The PCI Rev. 2.1 standard, referenced above, calls out two types of slots: one for PCI devices which utilize 5 Volt (V) signaling, and another for PCI devices that use 3.3V signaling. Under the standard, any PCI slot connector has a key (typically a piece of plastic) in one of two positions (one position for 5V-type slots, and another position for a 3.3V slot) which disallows plugging a 5V card into a 3.3V slot, and vice-versa. The 5V cards and 3.3V cards are shaped differently such that they will only fit into a slot having the appropriate key.
PCI specifications are currently transitioning from a 33 MHz bus operating speed standard to a 66 MHz bus operating speed. The 66 MHz PCI specification requires 3.3V switching. However, the vast majority of PCI bus systems currently in existence utilize 5V switching, and thus the PCI cards deployed within such systems are 5V cards.
Since it is possible to have systems with multiple PCI buses, it is possible, and indeed likely, that situations will exist wherein a particular data processing system will have resident within it some buses which employ both 5V signaling and other buses which employ 3.3V signaling. This will be particularly true while the industry is transitioning to the newer 66 MHz standard.
In that it is likely that both 5V and 3.3V PCI slots will be resident within the same system, it is desirable to provide a xe2x80x9cuniversalxe2x80x9d system which will adapt itself to different (e.g. 5V and 3.3V) cards as appropriate. In this context, it is significant that the PCI system keys have been designed such that they must be present within the PCI slots to ensure mechanical alignment within the slot. Consequently, it is not possible to merely remove both keys to make a universal PCI slot, in that the appropriate key must be present to provide proper mechanical alignment of any card utilized.
Within the industry, the common way in which provision is made to support both 5V and 3.3V cards is via the use of a removable key that a user manually inserts into one of two locations, with one location appropriate for 5V cards and another location appropriate for 3.3V cards. This prior-art removable key scheme is illustrated in FIG. 12. Shown in FIG. 12 is a perspective view of PCI slot 1200. Depicted are 3.3V groove 1202 and 5V groove 1204 within front face 1206 and rear face 1208 and top surface 1209 of PCI slot 1200. Illustrated is removable key 1210 which may be inserted in either 3.3V groove 1202 or 5V groove 1204, as appropriate, to ensure that PCI slot 1200 can only accept either a 5V or a 3.3V expansion card. This prior art scheme solves the mechanical alignment problem but introduces two new issues: a user can lose the removable key (such removable keys are roughly the size of half a paper clip), making the slot unusable; and a removable key often must be inserted into a PCI slot that will likely be recessed 8 inches into a system chassis, surrounded on either or both sides by PCI cards or plastic insulators that are generally less than 1xe2x80x3 apart. This typical scenario creates a box 1xe2x80x3 wide and 8xe2x80x3 deep at the bottom of which a user must align a small plastic piece with a tiny hole. Those skilled in the art will recognize that such placement is challenging even for experienced users.
In light of the foregoing, it is apparent that a problem exists in the industry in that current methods of providing xe2x80x9cuniversalxe2x80x9d PCI slots give rise to the foregoing noted difficulties. It is therefore apparent that a need exists for method and apparatus for providing substantially universal PCI card-slot interfacing, but which alleviate the forgoing noted difficulties.
An adaptive card-sensitive bus slot system and method have been invented which both provide substantially universal PCI card-slot interfacing and alleviate substantial difficulties extant within the related art. The method and system include a substantially universal bus slot structure. In one embodiment, the substantially universal bus slot structure includes at least one Peripheral Component Interconnect adaptive key. In another embodiment, the substantially universal bus slot structure includes at least one Peripheral Component Interconnect adaptive key piston. In another embodiment, a data processing system includes the adaptive card-sensitive bus slot system.
The foregoing is a summary and thus contains, by necessity, simplifications, generalizations and omissions of detail; consequently, those skilled in the art will appreciate that the summary is illustrative only and is not intended to be in any way limiting. Other aspects, inventive features, and advantages of the present invention, as defined solely by the claims, will become apparent in the non-limiting detailed description set forth below.